home *** CD-ROM | disk | FTP | other *** search
/ Mac Mania 1 / MacMania 1.toast / Educational / Education'More / D-G / French 1.1.sea / French 1.1 / stack.txt < prev   
Text File  |  1992-03-27  |  5KB  |  160 lines

  1. -- stack: in.1
  2. -- format: 10 (HyperCard 2)
  3. -- flags: 0x5000 (can't delete)
  4. -- protect password hash: 643082933
  5. -- maximum user level: 5 (scripting)
  6. -- window: Rect(x1=128, y1=132, x2=512, y2=348)
  7. -- screen: Rect(x1=0, y1=0, x2=640, y2=480)
  8. -- card dimensions: w=384 h=216
  9. -- scroll: x=0 y=0
  10. -- background count: 1
  11. -- first background id: 2773
  12. -- card count: 1
  13. -- first card id: 5128
  14. -- list block id: 2061
  15. -- print block id: 0
  16. -- font table block id: 3333
  17. -- style table block id: 3223
  18. -- free block count: 0
  19. -- free size: 0 bytes
  20. -- total size: 9344 bytes
  21. -- stack block size: 4608 bytes
  22. -- created by hypercard version: 0x02108000
  23. -- compacted by hypercard version: 0x02018000
  24. -- modified by hypercard version: 0x02018000
  25. -- opened by hypercard version: 0x02018000
  26. -- patterns[0]: 0x0000000000000000
  27. -- patterns[1]: 0x8000000008000000
  28. -- patterns[2]: 0x8800220088002200
  29. -- patterns[3]: 0x8888222288882222
  30. -- patterns[4]: 0x88AA22AA88AA22AA
  31. -- patterns[5]: 0xCCAA33AACCAA33AA
  32. -- patterns[6]: 0xEEAABBAAEEAABBAA
  33. -- patterns[7]: 0xEEBBBBEEEEBBBBEE
  34. -- patterns[8]: 0xFFBBFFEEFFBBFFEE
  35. -- patterns[9]: 0xFFBBFFFFFFBBFFFF
  36. -- patterns[10]: 0x8010022001084004
  37. -- patterns[11]: 0xFFFFFFFFFFFFFFFF
  38. -- patterns[12]: 0x8822882288228822
  39. -- patterns[13]: 0x1122448811224488
  40. -- patterns[14]: 0xC4800C6843023026
  41. -- patterns[15]: 0xB130031BD8C00C8D
  42. -- patterns[16]: 0xAA00AA00AA00AA00
  43. -- patterns[17]: 0x8822552288225522
  44. -- patterns[18]: 0x8855225588552255
  45. -- patterns[19]: 0x77DD77DD77DD77DD
  46. -- patterns[20]: 0x8000000000000000
  47. -- patterns[21]: 0xAA55AA55AA55AA55
  48. -- patterns[22]: 0x038448300C020101
  49. -- patterns[23]: 0x8244394482010101
  50. -- patterns[24]: 0x8814224188412214
  51. -- patterns[25]: 0x8080413E080814E3
  52. -- patterns[26]: 0x22048C7422179810
  53. -- patterns[27]: 0xBE808808EB088880
  54. -- patterns[28]: 0x25C8328964244C92
  55. -- patterns[29]: 0xA29C41BE2AC914EB
  56. -- patterns[30]: 0x40A00000040A0000
  57. -- patterns[31]: 0x8040200002040800
  58. -- patterns[32]: 0xAA00800088008000
  59. -- patterns[33]: 0xFF80808080808080
  60. -- patterns[34]: 0x081C22C180010204
  61. -- patterns[35]: 0xFF808080FF080808
  62. -- patterns[36]: 0xF87422478F172271
  63. -- patterns[37]: 0xBF00BFBFB0B0B0B0
  64. -- patterns[38]: 0xFF7FBE5DA2418000
  65. -- patterns[39]: 0xFAF5FAF5A050A050
  66. -- checksum: 0x784923A9
  67. ----- HyperTalk script -----
  68. on openStack
  69.   hide titlebar
  70.   create menu "Flashcards"
  71.   put "Import Vocab,-,Erase All" into menu "Flashcards"
  72.   if the number of lines of fld "French" of cd 1 > 1 then
  73.     create menu "Categories"
  74.     repeat with n= 2 to the number of lines in fld 1 of cd 1
  75.       put line n of fld 1 of cd 1 after menu "Categories"
  76.     end repeat
  77.     get line 1 of fld 1 of cd 1
  78.     put empty into fld 1 of cd 1
  79.     put it into fld 1 of cd 1
  80.   end if
  81. end openStack
  82. on closeStack
  83.   delete menu "Flashcards"
  84.   if there is a menu "Categories" then
  85.     repeat with n = 1 to the number of items in menu "Categories"
  86.       put return&item n of menu "Categories" after fld 1 of cd 1
  87.     end repeat
  88.     delete menu "Categories"
  89.   end if
  90.   unmark all cards
  91.   doMenu "Compact Stack"
  92. end closeStack
  93.  
  94. on doMenu yourChoice
  95.   if there is  a menu "Categories" then
  96.     if  yourchoice is in menu "Categories" then cardmarker yourchoice
  97.   end if
  98.  
  99.   if yourchoice is "Import Vocab" then
  100.     ImportData
  101.   else if yourchoice is "Erase All"then
  102.   eraseAll
  103. else pass doMenu
  104. end doMenu
  105.  
  106. on importData
  107.   answer file "Select Vocabulary file to import" of type "TEXT"
  108.   if the result is empty then
  109.  
  110.     lock screen
  111.     go last cd
  112.     put it into filename
  113.     open file filename
  114.     read from file filename until eof
  115.     put the first line of it into category
  116.     if the first char of category is "-" then put space before category
  117.     if there is a menuitem category in menu "Categories" then
  118.       answer "You've already got that file." with "OK"
  119.       close file filename
  120.       exit to hypercard
  121.     end if
  122.     if there is no menu "Categories" then create menu "Categories"
  123.     put category after menu "Categories"
  124.  
  125.     repeat with n = 2 to the number of lines of it
  126.       if fld "French" of cd 1 is not empty then doMenu "New Card"
  127.       put category into fld "cardsinuse"
  128.       put the number of this cd into cdnum
  129.       put item 1 of line n of it into fld "French" of cd cdnum
  130.       put item 2 of line n of it into fld "English" of cd cdnum
  131.     end repeat
  132.     close file filename
  133.   end if
  134.   unlock screen with visual dissolve to black
  135. end importData
  136. on eraseAll
  137.   answer "Are you sure you want to delete ALL cards?" with "Yes" or "No"
  138.   if it is "Yes" then
  139.     set cursor to busy
  140.     lock screen
  141.     repeat with n= 1 to (the number of cards) -1
  142.       doMenu "delete card"
  143.     end repeat
  144.     repeat with n = 1 to the number of flds
  145.       put empty into fld n
  146.     end repeat
  147.     if there is a menu "Categories" then  delete menu "Categories"
  148.   end if
  149.   unlock screen with visual dissolve to black
  150. end eraseAll
  151.  
  152. On cardMarker yourchoice
  153.   set the checkmark of menuitem yourchoice of menu "Categories" to not the checkmark of menuitem yourchoice of menu "Categories"
  154.   if the checkmark of menuitem yourchoice of menu "Categories" is true then mark cards where fld "cardsinuse" = yourchoice
  155.   else  unmark cards where fld "cardsinuse" = yourchoice
  156. end cardmarker
  157.  
  158.  
  159.  
  160.